package com.newjiabo.ski.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.newjiabo.common.annotation.Excel;
import com.newjiabo.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 摄影师申请单
 * 对象 ski_cameraman_request_note
 *
 * @author CaoMengHui
 * @date 2023-10-18
 */
@ApiModel(value = "摄影师申请单")
public class SkiCameramanRequestNote extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;

    /**
     * 摄影师姓名
     */
    @ApiModelProperty(value = "摄影师姓名")
    @Excel(name = "摄影师姓名")
    private String cameramanName;

    /**
     * 摄影师身份证
     */
    @ApiModelProperty(value = "摄影师身份证")
    @Excel(name = "摄影师身份证")
    private String cameramanIdCard;

    /**
     * 性别（1男，0女）
     */
    @ApiModelProperty(value = "性别（1男，0女）")
    @Excel(name = "性别", readConverterExp = "1=男，0=女")
    private Long sex;

    /**
     * 手持身份证正面
     */
    @ApiModelProperty(value = "手持身份证正面")
    @Excel(name = "手持身份证正面")
    private String handIdFrontImage;

    /**
     * 手持身份证反面
     */
    @ApiModelProperty(value = "手持身份证反面")
    @Excel(name = "手持身份证反面")
    private String handIdOppositeImage;

    /**
     * 主运营城市代码(一级选择)
     */
    @ApiModelProperty(value = "主运营城市代码(一级选择)")
    @Excel(name = "主运营城市代码(一级选择)")
    private String operateCityCode;

    /**
     * 雪场id
     */
    @ApiModelProperty(value = "雪场id")
    @Excel(name = "雪场id")
    private String snowFieldId;

    /**
     * 雪场名称
     */
    @ApiModelProperty(value = "雪场名称")
    @Excel(name = "雪场名称")
    private String snowFieldName;

    /**
     * 滑雪技能
     * @see com.newjiabo.ski.domain.enums.SkiSkillEnum
     */
    @ApiModelProperty(value = "滑雪技能")
    @Excel(name = "滑雪技能")
    private String skiSkill;

    /**
     * 说明
     */
    @ApiModelProperty(value = "说明")
    @Excel(name = "说明")
    private String description;

    /**
     * 摄影师网图
     */
    @ApiModelProperty(value = "摄影师网图")
    @Excel(name = "摄影师网图")
    private String image;

    /**
     * 删除标志 true/false 删除/未删除
     */
    @ApiModelProperty(value = "删除标志 true/false 删除/未删除")
    private Boolean delFlag;

    /**
     * 审核状态
     * @see com.newjiabo.ski.domain.enums.CommonAuditStatusEnum
     */
    @ApiModelProperty(value = "审核状态")
    @Excel(name = "审核状态")
    private String auditStatus;

    /**
     * 会员id
     */
    @ApiModelProperty(value = "会员id")
    @Excel(name = "会员id")
    private String memberId;

    /**
     * 会员名称
     */
    @ApiModelProperty(value = "会员名称")
    @Excel(name = "会员名称")
    private String memberName;

    /**
     * 审核员备注
     */
    @ApiModelProperty(value = "审核员备注")
    @Excel(name = "审核员备注")
    private String auditorRemarks;

    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /**
     * 审核员id
     */
    @ApiModelProperty(value = "审核员id")
    private String auditorId;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setCameramanName(String cameramanName) {
        this.cameramanName = cameramanName;
    }

    public String getCameramanName() {
        return cameramanName;
    }

    public void setCameramanIdCard(String cameramanIdCard) {
        this.cameramanIdCard = cameramanIdCard;
    }

    public String getCameramanIdCard() {
        return cameramanIdCard;
    }

    public void setSex(Long sex) {
        this.sex = sex;
    }

    public Long getSex() {
        return sex;
    }

    public void setHandIdFrontImage(String handIdFrontImage) {
        this.handIdFrontImage = handIdFrontImage;
    }

    public String getHandIdFrontImage() {
        return handIdFrontImage;
    }

    public void setHandIdOppositeImage(String handIdOppositeImage) {
        this.handIdOppositeImage = handIdOppositeImage;
    }

    public String getHandIdOppositeImage() {
        return handIdOppositeImage;
    }

    public void setOperateCityCode(String operateCityCode) {
        this.operateCityCode = operateCityCode;
    }

    public String getOperateCityCode() {
        return operateCityCode;
    }

    public void setSnowFieldId(String snowFieldId) {
        this.snowFieldId = snowFieldId;
    }

    public String getSnowFieldId() {
        return snowFieldId;
    }

    public void setSnowFieldName(String snowFieldName) {
        this.snowFieldName = snowFieldName;
    }

    public String getSnowFieldName() {
        return snowFieldName;
    }

    public void setSkiSkill(String skiSkill) {
        this.skiSkill = skiSkill;
    }

    public String getSkiSkill() {
        return skiSkill;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getImage() {
        return image;
    }

    public void setDelFlag(Boolean delFlag) {
        this.delFlag = delFlag;
    }

    public Boolean getDelFlag() {
        return delFlag;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setAuditorRemarks(String auditorRemarks) {
        this.auditorRemarks = auditorRemarks;
    }

    public String getAuditorRemarks() {
        return auditorRemarks;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public String getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(String auditorId) {
        this.auditorId = auditorId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("cameramanName", getCameramanName())
                .append("cameramanIdCard", getCameramanIdCard())
                .append("sex", getSex())
                .append("handIdFrontImage", getHandIdFrontImage())
                .append("handIdOppositeImage", getHandIdOppositeImage())
                .append("operateCityCode", getOperateCityCode())
                .append("snowFieldId", getSnowFieldId())
                .append("snowFieldName", getSnowFieldName())
                .append("skiSkill", getSkiSkill())
                .append("description", getDescription())
                .append("image", getImage())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("delFlag", getDelFlag())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("auditStatus", getAuditStatus())
                .append("memberId", getMemberId())
                .append("memberName", getMemberName())
                .append("auditorRemarks", getAuditorRemarks())
                .append("auditTime", getAuditTime())
                .toString();
    }
}
